---
id: index
title: TypeScript SDK developer guide
sidebar_label: TypeScript SDK
description: This guide offers a thorough overview of structures, features, and best practices for developing with Temporal's TypeScript SDK, including Workflows, Client, Testing, Failure Detection, and more.
toc_max_heading_level: 4
keywords:
  - typescript
tags:
  - TypeScript SDK
  - Temporal SDKs
---

![TypeScript SDK Banner](/img/banner-typescript-temporal.png)

:::info TYPESCRIPT SPECIFIC RESOURCES
Build Temporal Applications with the TypeScript SDK.

**Temporal TypeScript Technical Resources:**
- [TypeScript API Documentation](https://typescript.temporal.io)
- [TypeScript SDK Code Samples](https://github.com/temporalio/samples-typescript)
- [TypeScript SDK GitHub](https://github.com/temporalio/sdk-typescript)

**Get Connected with the Temporal TypeScript Community:**

- [Temporal TypeScript Community Slack](https://temporalio.slack.com/archives/C01DKSMU94L)
- [TypeScript SDK Forum](https://community.temporal.io/tag/typescript-sdk)
:::

## [Core application](/develop/typescript/core-application)

Use the essential components of a Temporal Application (Workflows, Activities, and Workers) to build and run a Temporal application.

- [Develop a Basic Workflow](/develop/typescript/core-application#develop-workflows)
- [Develop a Basic Activity](/develop/typescript/core-application#develop-activities)
- [Start an Activity Execution](/develop/typescript/core-application#activity-execution)
- [Run Worker Processes](/develop/typescript/core-application#run-a-dev-worker)

## [Temporal Client](/develop/typescript/temporal-clients)

Connect to a Temporal Service and start a Workflow Execution.

- [Connect to Development Temporal Service](/develop/typescript/temporal-clients#connect-to-development-service)
- [Connect to Temporal Cloud](/develop/typescript/temporal-clients#connect-to-temporal-cloud)
- [Start a Workflow Execution](/develop/typescript/temporal-clients#start-workflow-execution)

## [Testing](/develop/typescript/testing-suite)

Set up the testing suite and test Workflows and Activities.

- [Test Frameworks](/develop/typescript/testing-suite#test-frameworks)
- [Testing Activities](/develop/typescript/testing-suite#test-activities)
- [Testing Workflows](/develop/typescript/testing-suite#test-workflows)
- [How to Replay a Workflow Execution](/develop/typescript/testing-suite#replay)

## [Failure detection](/develop/typescript/failure-detection)

Explore how your application can detect failures using timeouts and automatically attempt to mitigate them with retries.

- [Workflow Timeouts](/develop/typescript/failure-detection#workflow-timeouts)
- [Set Activity Timeouts](/develop/typescript/failure-detection#activity-timeouts)
- [Heartbeat an Activity](/develop/typescript/failure-detection#activity-heartbeats)

## [Workflow message passing](/develop/typescript/message-passing)

Send messages to and read the state of Workflow Executions.

- [Develop with Signals](/develop/typescript/message-passing#signals)
- [Develop with Queries](/develop/typescript/message-passing#queries)
- [What is a Dynamic Handler](/develop/typescript/message-passing#dynamic-handler)

## [Interrupt a Workflow feature guide](/develop/typescript/cancellation)

Interrupt a Workflow Execution with a Cancel or Terminate action.

- [Cancellation scopes in Typescript](/develop/typescript/cancellation#cancellation-scopes)

## [Asynchronous Activity Completion](/develop/typescript/asynchronous-activity-completion)

Complete Activities asynchronously.

- [Asynchronously Complete an Activity](/develop/typescript/asynchronous-activity-completion)

## [Versioning](/develop/typescript/versioning)

Change Workflow Definitions without causing non-deterministic behavior in current long-running Workflows.

- [Introduction to Versioning](/develop/typescript/versioning)
- [How to Use the Patching API](/develop/typescript/versioning#typescript-sdk-patching-api)
- [How to Use Worker Versioning](/develop/typescript/versioning#worker-versioning)

## [Observability](/develop/typescript/observability)

Configure and use the Temporal Observability APIs.

- [Emit Metrics](/develop/typescript/observability#metrics)
- [Setup Tracing](/develop/typescript/observability#tracing)
- [Log from a Workflow](/develop/typescript/observability#logging)
- [Use Visibility APIs](/develop/typescript/observability#visibility)

## [Debugging](/develop/typescript/debugging)

Explore various ways to debug your application.

- [Debugging](/develop/typescript/debugging)

## [Schedules](/develop/typescript/schedules)

Run Workflows on a schedule and delay the start of a Workflow.

- [Schedule a Workflow](/develop/typescript/schedules#schedule-a-workflow)
- [Temporal Cron Jobs](/develop/typescript/schedules#temporal-cron-jobs)
- [How to use Start Delay](/develop/typescript/schedules#start-delay)

## [Data encryption](/develop/typescript/converters-and-encryption)

Use compression, encryption, and other data handling by implementing custom converters and codecs.

- [Custom Payload Codec](/develop/typescript/converters-and-encryption#custom-payload-conversion)

## [Durable Timers](/develop/typescript/timers)

Use Timers to make a Workflow Execution pause or "sleep" for seconds, minutes, days, months, or years.

- [What is a Timer](/develop/typescript/timers)

## [Child Workflows](/develop/typescript/child-workflows)

Explore how to spawn a Child Workflow Execution and handle Child Workflow Events.

- [Start a Child Workflow Execution](/develop/typescript/child-workflows)

## [Continue-As-New](/develop/typescript/continue-as-new)

Continue the Workflow Execution with a new Workflow Execution using the same Workflow ID.

- [Continue-As-New](/develop/typescript/continue-as-new)

## [Interceptors](/develop/typescript/interceptors)

Manage inbound and outbound SDK calls, enhance tracing, and add authorization to your Workflows and Activities.

- [How to implement interceptors](/develop/typescript/interceptors#interceptors)
- [Register an interceptor](/develop/typescript/interceptors#register-interceptor)
